﻿#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSharedPointer>
#include <QResizeEvent>

#include "window.h"
class QSlider;
class QHBoxLayout;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    Ui::MainWindow *ui;

    bool _screenTips = true;    //screen hints
    void _setScreenHints();

signals:
    void selectedFile(QString &filename);
    void render_Mode(int);

private slots:
    //Menu File
    void on_actionOpen_triggered();
    void on_actionSave_triggered(); //no implementation

    void on_actionTaubin_triggered();

    void on_actionAddNew_triggered();
    void on_actionClear_triggered();
    void on_actionBasic_Info_triggered();   //no implementation
    void on_actionBackground_triggered();
    void on_actionSurface_triggered();

    void on_actionPoint_triggered();
    void on_actionWireFrame_triggered();
    void on_actionFill_triggered();
    void on_actionFill_Lines_triggered();

    void on_actionNone_triggered();
    void on_actionDiffuse_triggered();
    void on_actionDirLight_triggered();
    void on_actionGourand_triggered();  //void on_actionPointLight_triggered();
    void on_actionPhong_triggered();
    void on_actionBlinn_Phong_triggered();

    void on_actionNone_2_triggered();
    void on_actionGold_triggered();
    void on_actionSilver_triggered();
    void on_actionBronze_triggered();
    void on_actionJade_triggered();
    void on_actionPearl_triggered();

    void on_actionPartColor_triggered();
    void on_actionGrowSpine_triggered();
    void on_actionGrowMyelinSheath_triggered();

    void on_actionAbout_triggered();     
};

#endif // MAINWINDOW_H
